package model.arbolBSharp.TestsArbol;

import java.util.ArrayList;
import java.util.List;

import junit.framework.TestCase;

import model.arbolBSharp.Hoja;
import model.extras.FrontCoding;
import model.registro.RegistroHoja;

public class TestGetRegistros extends TestCase{
	public void testRegistros() {
		List<RegistroHoja> listaRegistro = new ArrayList<RegistroHoja>();
		Integer posicionEnArchivo = 0;
		Integer punteroASiguiente = 0;
		RegistroHoja reg = new RegistroHoja();
		RegistroHoja reg2 = new RegistroHoja();
	    RegistroHoja reg3 = new RegistroHoja();
	    RegistroHoja reg4 = new RegistroHoja();
	    	    
		String palabra1 = "casa";
		String palabra2 = "casar";
		String palabra3 = "casare";
		int viejos, nuevos;

		viejos = 0;
		nuevos = palabra1.length();
        		
		reg.setCantCaractNuevos(nuevos);
		reg.setCantCaractRepetidos(viejos);
		reg.setTerm(palabra1);
		reg.setOffset(0);
		reg.setPesoGlobal(0);
				
		listaRegistro.add(reg);
		//Hoja hoja = new Hoja(listaRegistro, posicionEnArchivo,punteroASiguiente);
      
		//reg2=hoja.getMenorRegistro();
		System.out.println("la palabra1 a guardar es "+palabra1);
		System.out.println("la palabra2 a guardar es "+palabra2);
		System.out.println("la palabra3 a guardar es "+palabra3);
						
		//aplico front coding
		
		FrontCoding fg = new FrontCoding();
		fg.compacto(palabra1, palabra2);
        
		viejos = fg.getAnteriores();
		nuevos = fg.getNuevos();
        		
		reg2.setCantCaractNuevos(nuevos);
		reg2.setCantCaractRepetidos(viejos);
		reg2.setTerm(fg.getTermino());
		reg2.setOffset(0);
		reg2.setPesoGlobal(0);
		
		System.out.println("el termino2 guardado es "+reg2.getTermino());
				
		listaRegistro.add(reg2);
		
		//FrontCoding fg = new FrontCoding();
		fg.compacto(palabra2, palabra3);
        viejos = fg.getAnteriores();
		nuevos = fg.getNuevos();
        
		
		reg3.setCantCaractNuevos(nuevos);
		reg3.setCantCaractRepetidos(viejos);
		reg3.setTerm(fg.getTermino());
		reg3.setOffset(0);
		reg3.setPesoGlobal(0);
		
		System.out.println("el termino3 guardado es "+reg3.getTermino());
		
		
		listaRegistro.add(reg3);
		
		Hoja hoja = new Hoja(listaRegistro, posicionEnArchivo,punteroASiguiente);

		RegistroHoja recuperado3;		
		;
		System.out.println("la palabra1 recuperada es " +hoja.getPalabra(hoja.getMenorRegistro()));
		
	    String str = hoja.getPalabra(reg2);
		System.out.println("la palabra2 entera es " +str);
		
		recuperado3=hoja.getMayorRegistro();
		System.out.println("el termino3 recuperada es "+recuperado3.getTermino());
		
		reg4.setCantCaractNuevos(2);
		reg4.setCantCaractRepetidos(0);
		reg4.setOffset(0);
		reg4.setPesoGlobal(0);
		reg4.setTerm("yo");
		
		String str2 = hoja.getPalabra(reg3);
		System.out.println("la palabra3 entera es " +str2);
		
	}
}
